const fs = require("fs");
const path = require("path");

// readFile
// nodejs：错误优先机制（错误总是回调函数第一个参数）
/* fs.readFile(path.resolve("data.txt"), "utf-8", (err, data) => {
  if (err) {
    return console.log(err);
  }

  console.log(data);
}); */

// writeFile
/* fs.writeFile(
  path.resolve(__dirname, "./data.txt"),
  "123",
  {
    mode: 438, // 0o666：window文件权限，可读可写，不可执行（十进制438）
    flag: "r+",
    encoding: "utf-8",
  },
  (err) => {
    if (err) {
      return console.error("操作失败", err);
    }

    fs.readFile(path.resolve(__dirname, "./data.txt"), (readErr, data) => {
      if (readErr) {
        return console.log("读取失败");
      }
      console.log(data.toString());
    });
  }
); */

// appendFile
/* fs.appendFile(path.resolve(__dirname, "./data.txt"), "拉钩教育", (err) => {
  if (err) {
    return console.log("读取失败");
  }

  console.log("appendFile追加成功");
});

copyFle
fs.copyFile("data.txt", "test.txt", (err) => {
  if (err) {
    return console.log("拷贝失败");
  }
  console.log("copyFile拷贝成功");
}); */

// watchFile
fs.watchFile("data.txt", { interval: 20 }, (curr, prev) => {
  if (curr.mtime !== prev.mtime) {
    console.log("文件被修改了");
    fs.unwatchFile("data.txt");
  }
});
